package org.jeecg.modules.demo.weixin.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 订单接收方记录
 * @Author: jeecg-boot
 * @Date: 2023-12-23
 * @Version: V1.0
 */
@Data
@TableName("smt_split_order_com")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "smt_split_order_com对象", description = "订单接收方记录")
public class SmtSplitOrderCom implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Integer id;
    /**
     * 分账记录id
     */
    @Excel(name = "分账记录id", width = 15)
    @ApiModelProperty(value = "分账记录id")
    private Integer recordId;
    /**
     * 包含金额税费统计ids
     */
    @Excel(name = "包含金额税费统计ids", width = 15)
    @ApiModelProperty(value = "包含金额税费统计ids")
    private String orderFeeIds;
    /**
     * 门店id
     */
    @Excel(name = "门店id", width = 15)
    @ApiModelProperty(value = "门店id")
    private String merchantId;
    /**
     * 门店名称
     */
    @Excel(name = "门店名称", width = 15)
    @ApiModelProperty(value = "门店名称")
    private String merName;
    /**
     * 0商户1代理商2平台3基础税费4附加税费
     */
    @Excel(name = "0商户1代理商2平台3基础税费4附加税费", width = 15)
    @ApiModelProperty(value = "0商户1代理商2平台3基础税费4附加税费")
    private String comType;
    /**
     * 分账方
     */
    @Excel(name = "分账方", width = 15)
    @ApiModelProperty(value = "分账方")
    private String comId;
    /**
     * 分账方名字
     */
    @Excel(name = "分账方名字", width = 15)
    @ApiModelProperty(value = "分账方名字")
    private String comName;
    /**
     * 分账类型1云商通2现金3余额
     */
    @Excel(name = "分账类型1云商通2现金3余额", width = 15)
    @ApiModelProperty(value = "分账类型1云商通2现金3余额")
    private String splitType;
    /**
     * 费率ID
     */
    @Excel(name = "费率ID", width = 15)
    @ApiModelProperty(value = "费率ID")
    private Integer ruleComId;
    /**
     * 订单总金额
     */
    @Excel(name = "订单总金额", width = 15)
    @ApiModelProperty(value = "订单总金额")
    private BigDecimal orderAmounts;
    /**
     * 可分配金额
     */
    @Excel(name = "可分配金额", width = 15)
    @ApiModelProperty(value = "可分配金额")
    private BigDecimal splitAmounts;

    @Excel(name = "分账比例", width = 15)
    @ApiModelProperty(value = "分账比例")
    private BigDecimal splitAccount;

    /**
     * 获得金额
     */
    @Excel(name = "获得金额", width = 15)
    @ApiModelProperty(value = "获得金额")
    private BigDecimal reciveAmounts;
    /**
     * 云商通分账状态
     */
    @Excel(name = "云商通分账状态", width = 15)
    @ApiModelProperty(value = "云商通分账状态")
    private String splitYstStatus;
    /**
     * 订单id
     */
    @Excel(name = "订单id", width = 15)
    @ApiModelProperty(value = "订单id")
    private String orderId;
    /**
     * 失败原因
     */
    @Excel(name = "失败原因", width = 15)
    @ApiModelProperty(value = "失败原因")
    private String failReason;
    /**
     * 描述
     */
    @Excel(name = "描述", width = 15)
    @ApiModelProperty(value = "描述")
    private String description;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    //微信分账需要
    /**
     * 描述
     */
    @Excel(name = "子商户号", width = 15)
    @ApiModelProperty(value = "子商户号")
    private String subMchid;
    /**
     * 描述
     */
    @Excel(name = "分账接收方类型", width = 15)
    @ApiModelProperty(value = "分账接收方类型")
    private String type;

    /**
     * 描述
     */
    @Excel(name = "与分账方的关系类型", width = 15)
    @ApiModelProperty(value = "与分账方的关系类型")
    private String relationType;


}
